Digital pen to adjust a 3d object

ABSTRACT

A digital pen may include an orientation sensors and a three-dimensional (3D) coordinate plane selection module wherein, via input from the orientation sensors describing a position and orientation of the digital pen with respect to a two-dimensional (2D) display, the 3D coordinate plane selection module selects at least one coordinate plane in which an element of a 3D image is to be adjusted.

BACKGROUND

Input devices communicatively coupled to computing devices provide foruser interaction with applications running on the computing device.These input devices may be used to effect changes to objects displayedon a display device. The input devices may further be used to affect anaction via the display device.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various examples of the principlesdescribed herein and are a part of the specification. The illustratedexamples are given merely for illustration, and do not limit the scopeof the claims.

FIG. 1 is a block diagram of a digital pen according to an example ofthe principles described herein.

FIG. 2 is a flowchart showing a method of manipulating athree-dimensionally represented object according to an example of theprinciples described herein.

FIG. 3 is a block diagram of an input system according to an example ofthe principles described herein.

FIG. 4 is a top plan view of the input system of FIG. 3 according to anexample of the principles described herein.

FIGS. 5A and 5B are perspective views of a coordinate system describingthe threshold degree tilt of the digital pen according to an example ofthe principles described herein.

FIGS. 6A and 6B are a plan and perspective views respectively of acoordinate system describing the threshold degree tilt of the digitalpen according to an example of the principles described herein.

FIG. 7 is front perspective diagram of an input system according to anexample of the principles described herein.

FIG. 8 is a flowchart showing a method of manipulating athree-dimensionally represented object according to an example of theprinciples described herein.

Throughout the drawings, identical reference numbers designate similar,but not necessarily identical, elements.

DETAILED DESCRIPTION

As described above, input devices are used to adjust objects presentedto a user via a display device. Applications executed on a computingdevice associated with both the, above mentioned, input device and thedisplay device may execute computer readable program code. The executionof that computer readable program code may present a user with, forexample, the ability to create and move a three-dimensional (3D) objectin 3D space. Creation, translation, and rotation of the 3D object in 3Dspace is done in some computing device programs such as computer-aideddesign (CAD) programs.

CAD programs rely on mouse input for object manipulation (i.e.,translation and rotation) in the 3D space. There are two methods totranslate those two-dimensional (2D) mouse motions into 3D objectmanipulations. The first method presents multiple viewports (together orone at a time) displaying the orthogonal view from the x, y and zdirections (right, top, front elevations, respectively). However, withthis method, mouse operations in any of those viewports are limited tothe two dimensions displayed in that viewport. The second methodincludes changing the actions resulting from mouse movement byactivating different modes, either by icon selection, clicking in theright location on a user interface (UI) icon, and/or by holding downsome combination of mouse buttons and modifier keys on, for example, ona keyboard. However, this method either uses mouse buttons, which are ascarce resource in the user interface design, or implements the use ofalternative buttons apart from those on the mouse adding to theoperational complexity.

The present specification, therefore describes a digital pen thatincludes a number of orientation sensors and a three-dimensional (3D)coordinate plane selection module wherein, via input from the digitalpen and orientation sensors describing a position and orientation of thedigital pen with respect to a two-dimensional (2D) display, the 3Dcoordinate plane selection module selects a coordinate plane in which anelement of a 3D image is to be adjusted.

The present specification further describes a method of manipulating athree-dimensionally represented object that includes receiving anindication that a digital pen has contacted a point on thetwo-dimensional (2D) screen where the three-dimensionally representedobject is displayed, determining when a tilt of the digital pen iswithin a threshold degree of one of a number of axes of a coordinatespace, and receiving instructions to adjust the three-dimensionallyrepresented object.

The present specification further describes an input system thatincludes a digital pen including a number of orientation sensors, a 2Ddisplay device; and a three-dimensional (3D) coordinate plane selectionmodule wherein the 3D coordinate plane selection module selects acoordinate plane in which an element of a 3D image is to be adjustedbased on input from the digital pen and orientation sensors and whereinthe input from the digital pen and orientation sensors describes aposition and orientation of the digital pen with respect to the 2Ddisplay device and the 3D image.

As used in the present specification and in the appended claims, theterm “digital pen” is meant to be understood as any device that iscapable of providing positional data of itself with reference to atwo-dimensional (2D) surface.

Additionally, as used in the present specification and in the appendedclaims, the term “a number of” or similar language is meant to beunderstood broadly as any positive number comprising 1 to infinity.

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present systems and methods. It will be apparent,however, to one skilled in the art that the present apparatus, systemsand methods may be practiced without these specific details. Referencein the specification to “an example” or similar language means that aparticular feature, structure, or characteristic described in connectionwith that example is included as described, but may not be included inother examples.

Turning now to the figures, FIG. 1 is a block diagram of a digital pen(100) according to one example of the principles described herein. Thedigital pen (100) may be used to select and switch between different 3Dplanes defining a 3D object represented in 3D space. After the digitalpen (100) has been used to select the 3D plane, the 3D object may bemanipulated in that selected 3D plane using the pen on a 2D surface.Consequently, other input devices are not used in conjunction with thedigital pen (100) in order to manipulate the 3D object. To accomplishthe above, the digital pen (100) includes orientation sensors (105) anda three-dimensional (3D) coordinate plane selection module (110).

The digital pen (100) may be implemented in connection with anyelectronic device. Examples of electronic devices include servers,desktop computers, laptop computers, personal digital assistants (PDAs),mobile devices, smartphones, gaming systems, and tablets, among otherelectronic devices. In each of these examples, the digital pen (100) mayserve as an input device communicatively coupled to at least aprocessing device included within the electronic device. For ease ofunderstanding, the electronic device communicatively coupled to thedigital pen (100) is a computing device. This is not meant to be alimitation on the description, however, and the present specificationcontemplates the use of any electronic device in connection with thedigital pen (100).

The computing device and the digital pen (100) may be utilized in anydata processing scenario including, stand-alone hardware, mobileapplications, through a computing network, or combinations thereof.Further, the computing device may be used in a computing network, apublic cloud network, a private cloud network, a hybrid cloud network,other forms of networks, or combinations thereof. The present systemsmay be implemented on one or multiple hardware platforms, in which themodules in the system can be executed on one or across multipleplatforms. Such modules can run on various forms of cloud technologiesand hybrid cloud technologies or offered as a SaaS (Software as aservice) that can be implemented on or off the cloud. In anotherexample, the methods provided by the computing device and digital pen(100) are executed by a local administrator.

To achieve its desired functionality, the computing device associatedwith the digital pen (100) comprises various hardware components. Amongthese hardware components may be a number of processors, a number ofdata storage devices, a number of peripheral device adapters, and anumber of network adapters. These hardware components may beinterconnected through the use of a number of busses and/or networkconnections. In one example, the processor, data storage device,peripheral device adapters, and a network adapter may be communicativelycoupled via a bus.

The processor may include the hardware architecture to retrieveexecutable code from the data storage device and execute the executablecode. The executable code may, when executed by the processor, cause theprocessor to implement at least the functionality of receiving anindication that a digital pen has contacted a point on thetwo-dimensional (2D) display device where the three-dimensionallyrepresented object is displayed, determining when a tilt of the digitalpen is within a threshold degree of one of a number of axes of acoordinate space corresponding to the three-dimensionally representedobject, selecting an axis of coordinate space, and receivinginstructions to adjust the three-dimensionally represented objectaccording to the methods of the present specification described herein.In the course of executing code, the processor may receive input fromand provide output to a number of the remaining hardware units. In anexample, the computer readable program code describing the selection ofan axis of coordinate space obtains information from a 3D applicationexecuting on the computing device associated with the digital pen (100).This information may include information relating to the currentorientation of the coordinate axes in the displayed 3D workspace. Assuch, selection and manipulation of the element of a 3D object in the 3Dworkspace may be influenced by the current orientation of the coordinateaxes at any given time.

The data storage device may store data such as executable program codethat is executed by the processor or other processing device. As will bediscussed, the data storage device may specifically store computer coderepresenting a number of applications that the processor executes toimplement at least the functionality described herein.

The data storage device may include various types of memory modules,including volatile and nonvolatile memory. For example, the data storagedevice of the present example includes Random Access Memory (RAM), ReadOnly Memory (ROM), and Hard Disk Drive (HDD) memory. Many other types ofmemory may also be utilized, and the present specification contemplatesthe use of many varying type(s) of memory in the data storage device asmay suit a particular application of the principles described herein. Incertain examples, different types of memory in the data storage devicemay be used for different data storage needs. For example, in certainexamples the processor may boot from Read Only Memory (ROM), maintainnonvolatile storage in the Hard Disk Drive (HDD) memory, and executeprogram code stored in Random Access Memory (RAM).

Generally, the data storage device may comprise a computer readablemedium, a computer readable storage medium, or a non-transitory computerreadable medium, among others. For example, the data storage device maybe, but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, ordevice, or any suitable combination of the foregoing. More specificexamples of the computer readable storage medium may include, forexample, the following: an electrical connection having a number ofwires, a portable computer diskette, a hard disk, a random-access memory(RAM), a read-only memory (ROM), an erasable programmable read-onlymemory (EPROM or Flash memory), a portable compact disc read-only memory(CD-ROM), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer readable storage medium may be any tangible medium that cancontain, or store computer usable program code for use by or inconnection with an instruction execution system, apparatus, or device.In another example, a computer readable storage medium may be anynon-transitory medium that can contain, or store a program for use by orin connection with an instruction execution system, apparatus, ordevice.

The hardware adapters in the computing device associated with thedigital pen (100) enable the processor to interface with various otherhardware elements, external and internal to the computing device. Forexample, the peripheral device adapters may provide an interface toinput/output devices, such as, for example, display device, a mouse, ora keyboard. The peripheral device adapters may also provide access toother external devices such as an external storage device, a number ofnetwork devices such as, for example, servers, switches, and routers,client devices, other types of computing devices, and combinationsthereof.

The display device may be provided to allow a user of the digital pen(100) to interact with and implement the functionality of the digitalpen (100). The peripheral device adapters may also create an interfacebetween the processor and the digital pen (100), the display device, aprinter, or other media output devices. The network adapter may providean interface to other computing devices within, for example, a network,thereby enabling the transmission of data between the computing deviceand other devices located within the network.

Computer readable program code may, when executed by the processor,display the number of graphical user interfaces (GUIs) on the displaydevice representing a number of applications stored on the data storagedevice. The GUIs may be displayed on the display device to a userimplementing the digital pen (100) such that the user may interact withthe subject matter, such as the 3D object, presented on the displaydevice. Examples of 2D display devices include a computer screen, alaptop screen, a mobile device screen, a personal digital assistant(PDA) screen, and a tablet screen, among other 20 display devices.

The computing device or the digital pen (100) may further comprise anumber of modules used in the implementation of manipulating athree-dimensionally represented object on a 2D display device. Thevarious modules comprise executable program code that may be executedseparately. In this example, the various modules may be stored asseparate computer program products either on the computing device or ona storage device within the digital pen (100). In another example, thevarious modules may be combined within a number of computer programproducts; each computer program product comprising a number of themodules.

The orientation sensors (105) may be any number of devices that measure,at least, the orientation of the digital pen (100). In an example,accelerometers and magnetometers can be used to determine the pen'sorientation in relation to gravity and the Earth's magnetic field. In anexample, the orientation of the pen may be determined using the pen'selectro-magnetic positioning system, for example by measuring thelocation and signal strength at two positions along the body of the pen.In either example, the orientation sensors (105) provide data to the 3Dcoordinate plane selection module (110) describing, at least, theorientation of the digital pen (100) relative to the 2D display device.In an example, the digital pen (100) further provides data describingthe position on the 2D display where the digital pen (100) has come incontact with the 2D display. This positional data along with theorientation data from the digital pen may be used by the orientationsensors to describe both the position and orientation of the digital penwith respect to the 2D display, the 3D workspace displayed to a user onthe 2D display, or combinations thereof.

As will be described in more detail below, as the digital pen (100)comes in contact with a surface such as a 2D touchscreen device,digitizing tablet device or digitizing display device, the orientationsensors (105) may begin to provide data to the three-dimensional (3D)coordinate plane selection module (110) describing the orientation ofthe digital pen (100) relative to the device surface. In an example,this data describing the orientation of the digital pen (100) relativeto the device surface as well as contact data from the device surfacedescribing the position of the digital pen (100) on the surface may beused by the 3D coordinate plane selection module (110).

The 3D coordinate plane selection module (110) may be any module thatreceives data from, at least, the orientation sensors (105) anddetermines the orientation of the digital pen (100) and, optionally, theposition of the digital pen (100) as it relates to the displayed 3Dapplication environment on the 2D display device. In an example, the 3Dcoordinate plane selection module (110) is in the form of computerreadable program code that, when executed by a processor either on acomputing device or on the digital pen (100), determines the orientationof the digital pen (100) with respect to the 3D workspace as displayedto the user on the 2D display device. In an example, the 3D coordinateplane selection module (110) is in the form of an application-specificintegrated circuit (ASIC) that receives the data from the orientationsensors (105) and performs those functions described herein. In eitherexample, after the 3D coordinate plane selection module (110) hasdetermined the orientation and, optionally, the position of the digitalpen (100) relative to the surface of the 2D display device, the datadescribing the orientation and, optionally, the position of the digitalpen (100) may be provided to a computing device executing, for example,the 3D application environment. Thus, such data may be used to allow auser to interface with, at least, an element of a 3D object representedon the 2D display device associated with the digital pen (100) andcomputing device. Thus, the digital pen (100) is used to select acoordinate plane in the 3D workspace displayed on the two-dimensional(2D) display device and allows the user to adjust the position and/ororientation of, at least, a selected element within that 3D workspace.

In an example, the 2D display device may be a touchscreen on a computingdevice or a touchscreen on a tablet device. In this example, the usermay contact the touchscreen with the digital pen (100) in order tointerface with the 3D object or image represented on the touchscreen atthat location of contact. FIG. 2 is a flowchart showing a method (200)of manipulating a three-dimensionally represented object according to anexample of the principles described herein. The method (200) may beginwith receiving (205) an indication that a digital pen has contacted apoint on a 20 screen where a three dimensionally represented object isrepresented. In an example, the indication may be in the form of adigital signal from the 2D display device indicating that the digitalpen (100) has contacted a point on the surface of the 2D display device.The 20 coordinate location of the touch by the digital pen (100) may besent to the processor of the computing device or tablet device.

The method (200) may continue by determining (210) when a tilt of thedigital pen (FIG. 1, 100) is within a threshold degree of one of anumber of axes of a coordinate space. As described above, theorientation sensors (FIG. 1, 105) provides data to, for example, theprocessor of the computing device or tablet device describing theorientation of the digital pen (100) with regard to the surface of the2D display device. When the orientation of the digital pen (100) hasbeen determined, that data may be used to determine (210) if the tilt ofthe digital pen (FIG. 1, 100) places the digital pen (FIG. 1, 100)within a threshold distance from one of an x coordinate axis, a ycoordinate place, and a z coordinate axis. Where the tilt of the digitalpen (FIG. 1, 100) does fall within a threshold distance from one of theaxes of the coordinate space, the coordinate plane perpendicular to thataxis is deemed to be selected by the user.

In an example, the position of the digital pen (100) is also used in thedetermination of the directions of the coordinate axes. For example, ifthe displayed 3D workspace has an exaggerated perspective, then thecoordinate axes for a 3D object on a far-left area of the 2D displaywill point in different directions from those for an object on afar-right area of the 2D display. Alternatively, the present systems andmethod may determine a single set of axis directions (e.g. fromviewpoint orientation) which the system may then use to compare to atilt of the digital pen (100) irrespective of the digital pen's (100)location. Another example described in connection with FIG. 6, mayinclude axes that are mapped to, for example, 12 o'clock, 4 o'clock, and8 o'clock irrespective of how they are displayed in the scene. In thisexample, plane selection is performed by the digital pen (100) withoutinput from the 3D application executed by the computing device.

The method may also include receiving (215) instructions to adjust thethree-dimensionally represented object. Here, because an axis of acoordinate space has been selected based on the tilt of the digital pen(FIG. 1, 100), the user may translate and/or rotate the digital pen(FIG. 1, 100) such that it effects the position of the 3D objectrepresented on the 2D display device of the computing device or tabletdevice. In an example, the user may be provided with possible adjustmentindicators provided in connection with the 3D object. The adjustmentindicators may be displayed on the display device that indicate how theuser can adjust the 3D object based on the axis of coordinate spacecurrently being selected. This may provide the user with the knowledgeof how the 3D object may be manipulated as well as an indication of theaxis of coordinate space currently selected.

In an example, the axis of coordinate space may be switched by tiltingthe digital pen (FIG. 1, 100) to be within a threshold degree of anotheraxis of the coordinate space. In this example, the user can accomplishthis switch by adjusting the tilt of the digital pen (FIG. 1, 100) whilethe digital pen (FIG. 1, 100) remains in contact with the surface of the2D display device described above. In an example, the user canaccomplish this switch by removing the digital pen (FIG. 1, 100) fromthe surface of the 2D display device, realigning the tilt of the digitalpen (FIG. 1, 100) to fit within a threshold degree of another axis inthe coordinate space, and making contact with the touchscreen using thedigital pen (FIG. 1, 100) again.

FIG. 3 is a block diagram of an input system (300) according to anexample of the principles described herein. Some aspects of the digitalpen (305) described above in connection with FIGS. 1 and 2 may beincluded in the input system (300) of FIG. 3. The input system (300) mayinclude a digital pen (305) with its orientation sensors (310), atwo-dimensional (2D) display device (315), and a 3D coordinate planeselection module (320).

The digital pen (305) and its orientation sensors (310) have beendescribed above in connection with FIG. 1. The digital pen may be, forexample, any stylus-type device that can be held by a user similar to apencil or pen. As described herein, the digital pen (305) includesorientation sensors (310) that can detect the orientation of the digitalpen (305) relative to the 2D display device (315).

The 2D display device (315) may be any device that can receive inputfrom the digital pen (305) as the digital pen comes in contact with asurface of the 2D display device (315). The 2D display device (315) mayimplement any resistive, capacitive, infrared, optical imaging, acousticapparatus or device, or any suitable combination of the foregoing, todetect the touch of the digital pen (305) on the surface of the 2Ddisplay device (315).

The 3D coordinates plane selection module (320) may implement any formof computer readable program code executed by a processor or beimplemented as a ASIC in order to determine the orientation of thedigital pen (100) in physical 3D space relative to the touch pad or 2Ddisplay device (315). In the example where the 3D coordinate planeselection module (320) is embodied as computer readable program code, aprocessor on either the digital pen (305) or on a computing deviceassociated with the digital pen (305) and 2D display device (315) mayexecute that computer readable program code. This is done to accomplishthe methods and tasks of the 3D coordinate plane selection module (320)described herein.

In an example, the input system (300) is a tablet device thatincorporates the 2D display device (315) and 3D coordinates planeselection module (320) therein. During operation of the tablet device, auser may interact with the surface of the 2D display device (315)directly using the digital pen (305). Thus, a user may manipulate a 3Dobject represented on the 2D display device (315) using a 2D surface.

In an example, the input system (300) may include a touch pad and adisplay device. In this example, the features of the 2D display device(315) described above are separated into two devices: a pad to interactwith the digital pen (305) and the display device, separate from thepad, to display the 3D object and represent those manipulations to the3D object as directed by the user implementing the digital pen (305). Inthis example, the position of the digital pen (305) may be mapped to fitthe orientation of the display device relative to the pad. Here, a usercan indicate that the pad is laying horizontally on, for example, thetop of a desk while the display device is positioned vertically like acomputer screen. This allows the user to orient the tilt of the digitalpen (305) with respect to the horizontal surface such that a coordinateaxis displayed on the vertical screen may be selected. In order toassist the user in selecting an axis of the coordinate plane, thedisplay device may show, in shadow for example, a representation of thedigital pen (305). This may allow the user to adjust the tilt of thedigital pen (305) in order to better select the axis of the coordinateplane.

FIG. 4 is a top plan view of the input system (300) of FIG. 3 accordingto an example of the principles described herein. In this example, theinput system (300) is a tablet device (307) including a 2D displaydevice (315). The 2D display device (315) has a 2D surface on which auser may interact with using the digital pen (305) as described above.During operation, the user may cause the digital pen (305) to come incontact with the 2D display device (315) at a location of a 3D object(320) represented in 3D space (325) on the 2D display device (315). Inthis example, the orientation of the 3D space (325) may be determinedvia a 3D coordinate legend (330) displayed on the 2D display device(315). This may allow a user to be able to visually orient the 3D object(320) within the 3D space (325). Additionally, the image displayed onthe 2D display device (315) of the tablet device (307) may include anumber of modification indicators (335, 340) indicating the ways inwhich a user may drag a tip of the digital pen (305) across the 2Ddisplay device (315) or rotate the digital pen (305) in order to adjustthe position of the 3D object (320). In an example a rotationmodification indicator (340) is presented to a user when the usertouches the position on the 2D display device (315) where the 3D object(320) is represented. This designates to a user how the 3D object (320)may be rotated when the user twists the digital pen (305). In anexample, a translation modification indicator (355) may be presented toa user indicating how the 3D object (320) may be translated within the3D space (325). In each of these examples of modification indicators(335, 340), the presented modification indicators (335, 340) may changebased on the coordinate axis selected by the user.

FIGS. 5A and 5B are perspective views of a coordinate system (500)describing the threshold degree (a) tilt of the digital pen according toan example of the principles described herein. The coordinate system(500), in an example, may include an x-axis (505), a y-axis (510), and az-axis (515) representing the three Cartesian coordinates. Each of theseaxes have a cone shaped area (520, 525, 530) defined about themrepresenting that area where the digital pen (305) may be tilted toselect that plane. Each of the cone shaped areas (520, 525, 530)boundaries are defined by the vertex of the coordinate system (500) andthe threshold degree (a). The tip of the cone shaped area (520, 525,530) originates at the origin of the coordinate system (500) while thesides of the cone shaped area (520, 525, 530) project out from eachaxis.

Because the 3D coordinate planes are being represented on the 2D planeof the 2D display device (315), a portion of at least one cone shapedarea (520, 525, 530) falls in or behind the 20 surface. In the exampleshow in FIG. 5A, the z-axis (515) may come out of the surface of the 2Ddisplay device (315). The user may select the z-axis (515) by holdingthe digital pen (305) perpendicular to the surface of the 2D displaydevice (315). In the example show in FIG. 5A, the x-axis (505) andy-axis (510) may each be halved by the surface of the 2D display device(315) such that half of the cone shaped areas (520, 525) fall behind the2D display device (315) while the other half extends out of the surfaceof the 2D display device (315). To select these axes (505, 510) a usermay tilt the digital pen (305) such that it falls within either of thosehalved cone shaped areas (520, 525). Other spatial arrangements of thecone shaped areas (520, 525, 530) can exist and the presentspecification contemplates those arrangements.

In the example of FIGS. 5A and 5B, the outward angle of the sides of thecone shaped areas (520, 525, 530) are defined by the threshold degree(a). In an example, the threshold degree (a) may be between 0° and 45°.In an example, the threshold degree (a) may be between 0° and 35°. In anexample, the threshold degree (a) may be between 0° and 25°. In anexample, the threshold degree (a) may be between 0° and 150. In anexample, the threshold degree (a) may be between 0° and 5°.

In the examples above, when a digital pen (305) is oriented in realspace by the user so that the tilt of the digital pen (305) falls withinthe cone shaped area (520, 525, 530) defined by the threshold degree(a), that specific axis is chosen and the related coordinate plane isselected. In an example, the selected coordinate plane is chosen afterthe digital pen (305) has contacted the 2D display device (315). In thisexample, the point of contact of the digital pen (305) on the 2D displaydevice (315) is the point where the tip of the cone shaped area (520,525, 530) is defined. In an example, after the digital pen (305) hascontacted the 2D display device (315), a user may tilt the digital pen(305) such that a specific axis (505, 510, 515) is unselected. This isdone by tilting the digital pen (305) outside of the threshold degree(a) defined around that specific axis (505, 510, 515). The user may tiltthe digital pen (305) further such that another axis (505, 510, 515) isselected. This is done by tilting the digital pen (305) such that itfalls within the cone shaped area (520, 525, 530) defined around theother axis (505, 510, 515). This option may be seen as an advanced useroption because the user may select a different coordinate plane withoutlifting the digital pen (305) from off the 2D display device (315).

In an example, a user may select a different axis (505, 510, 515), bylifting the digital pen (305) from off of the 2D display device (315),tilting the digital pen (305) in real space so that it falls within asecond cone shaped area (520, 525, 530) or at least out of a first coneshaped area (520, 525, 530), and reapplying the digital pen (305) to thesurface of the 2D display device (315). This option may be seen as anovice user option because the user may not be allowed to switch fromone chosen axis (505, 510, 515) to another without first lifting thedigital pen (FIG. 1, 100) from off the 2D display device (315). In anexample, the user may select or toggle between the above describedadvanced user option and the novice user option via selection of abutton on the user interface presented on the 2D display device (315).

FIGS. 6A and 6B are perspective views of a coordinate system describingthe threshold degree tilt of the digital pen according to an example ofthe principles described herein. In this example, the determination asto which coordinate axis (505, 510, 515) is selected depends on twothresholds: a first threshold degree (α) and a second threshold degree(α). This is done by monitoring whether the digital pen (305) is tiltedaway from vertical (600) at least by the second threshold degree (ß).When the digital pen (305) is tilted beyond the second threshold degree(ß), it is then determined which section (610, 615, 620) around thevertex of the coordinate system the digital pen (305) is tilted towards.Thus, when the digital pen (305) is tilted more than β degrees fromvertical, and if its tilt direction is within a degrees of any of theseaxes (505, 510, 515), then that axis is selected.

FIG. 7 is front elevational diagram of an input system (700) accordingto an example of the principles described herein. The system (700) mayinclude many of those features as described in connection with FIG. 3.However, in the example of FIG. 7, the features of the 2D display device(315) described above are separated into two devices: the touch pad(710) to interact with the digital pen (305) and the display device(715), separate from the touch pad, to display the 3D object (320) andrepresent those manipulations to the 3D object (320) as directed by theuser implementing the digital pen (305). In this example, the positionof the digital pen (305) may be mapped to fit the orientation of thedisplay device relative to the touch pad (710). Here, a user canindicate that the touch pad is laying horizontally on, for example, thetop of a desk while the display device is positioned vertically like acomputer screen. This allows the user to orient the tilt of the digitalpen (305) such that a coordinate axis displayed on the vertical screenmay be selected. In order to assist the user in selecting an axis of thecoordinate plane, the display device may show, in shadow for example, arepresentation of the digital pen (305). This may allow the user toadjust the tilt of the digital pen (305) in order to better select theaxis of the coordinate plane.

FIG. 8 is a flowchart showing a method (800) of manipulating athree-dimensionally represented object according to an example of theprinciples described herein. The method (800) may begin with selectingan object move mode on the user interface presented to the user on, forexample, the 2D display device (315). The selection of the object movemode causes the digital pen (305) to be used for moving of the 3D object(320) as apart from adding lines or otherwise drawing on the 3D space(325). However, other modes may be used in connection with the digitalpen and system described herein and the present specificationcontemplates the use of the digital pen and system to, for example,place marks on the 3D object (320), change marks defining a part of the3D object (320), or other actions available in CAD-type drawingprograms.

The method (800) may include receiving (810) an indication that adigital pen (305) has contacted a point on a 2D touchscreen of, forexample, a 2D display device (315). Again, this indication may bereceived from the touchscreen itself or may be generated via acombination of the touchscreen and the digital pen (305).

The method (800) may further include detecting a location of a digitalpen (305) touch on a three-dimensional (3D) object in three-dimensionalspace represented on the 2D touchscreen. Here the indication where thedigital pen (305) contacts the 2D touchscreen may be mapped to determinewhat portion of which 3D object (320) is being touched.

The method (800) further includes detecting an apparent direction ofaxes at the location of the digital pen touch as tilt angle with regardto the touchscreen. As described above, a threshold degree or a numberof threshold degrees may be used to determine the tilt of the digitalpen (305) relative to the surface of the 2D display device (315). Themethod (800) further determines whether the digital pen (305) is withina threshold degree of a first axis (Decision, 825). The method (800)includes constantly monitoring the tilt of the digital pen (305) usingthe orientation sensors (FIG. 1, 105) (Decision NO, 825) until itdetects that the digital pen (305) is within a threshold degree of afirst axis (Decision YES, 825).

The method (800) provides a user with a display (830) of any availabletranslation and/or rotation options or modification indicators (335,340) associated with the 3D object (320). The method (800) then receivessignals to translate and/or rotate (835) the 3D object (320).

The method (800) may also constantly detect whether the digital pen(305) is still contacting the touchscreen (Decision, 840). As long asthe digital pen (305) is still contacting the touchscreen (Decision, YES840), the displayed (850) available translation and/or rotation optionsare maintained and input to translate and/or rotate (835) the 3D object(320) is monitored. If the digital pen (305) is no longer contacting thetouchscreen (Decision No, 840) the process may stop and the touchscreendevice (315) may continue to monitor for a contact between thetouchscreen device (315) and the digital pen (305).

Aspects of the present system and method are described herein withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according to examplesof the principles described herein. Each block of the flowchartillustrations and block diagrams, and combinations of blocks in theflowchart illustrations and block diagrams, may be implemented bycomputer usable program code. The computer usable program code may beprovided to a processor of a general-purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the computer usable program code, when executed via,for example, a processor of the computing device and/or digital pen orother programmable data processing apparatus, implement the functions oracts specified in the flowchart and/or block diagram block or blocks. Inone example, the computer usable program code may be embodied within acomputer readable storage medium; the computer readable storage mediumbeing part of the computer program product. In one example, the computerreadable storage medium is a non-transitory computer readable medium.

The specification and figures describe a digital pen and method ofmanipulating a 3D object represented on a 2D surface using the digitalpen. The pen and method described herein does not include any addedcomplication and screen real-estate of multiple viewports, nor thecomplication and extra process of mode switches. Instead, the way thedigital pen is held and moved relates intuitively to 3D objectmanipulation. This digital pen and method does not include the use ofseparate buttons or devices to select a coordinate plane in which aselected three-dimensionally represented image displayed on atwo-dimensional (2D) display device should be adjusted. This may savethe user on costs and downtime used to learn how to manipulate the 3Dobject.

The preceding description has been presented to illustrate and describeexamples of the principles described. This description is not intendedto be exhaustive or to limit these principles to any precise formdisclosed. Many modifications and variations are possible in light ofthe above teaching.

What is claimed is:
 1. A digital pen, comprising: a number oforientation sensors; and a three-dimensional (3D) coordinate planeselection module; wherein, via input from the digital pen andorientation sensors describing a position and orientation of the digitalpen with respect to a two-dimensional (2D) display, the 3D coordinateplane selection module selects a coordinate plane in which an element ofa 3D image is to be adjusted.
 2. The digital pen of claim 1, wherein afirst coordinate plane is selected when the digital pen is within afirst threshold degree of the first coordinate plane.
 3. The digital penof claim 2, where a second coordinate plane is selected when the digitalpen is moved out of the first threshold degree and into a secondthreshold degree associated with the second coordinate plane.
 4. Thedigital pen of claim 3, wherein a space is created between the first andsecond threshold degrees where no coordinate plane may be selected. 5.The digital pen of claim 2, wherein each axis of the coordinate planecomprises a threshold degree that is in the shape of a cone about eachcoordinate axis originating from the current pen location.
 6. Thedigital pen of claim 1, wherein each axis of the coordinate planecorresponds to a second threshold degree that selects a coordinate planewhen the digital pen is tilted past a first threshold degree fromperpendicular on the 2D display device.
 7. The digital pen of claim 1,wherein contact of the digital pen on a horizontal pad is mapped to the2D display device arranged vertically and wherein an arrangement of thecoordinate plane is maintained between the pad and the 2D displaydevice.
 8. A method of manipulating a three-dimensionally representedobject, comprising: receiving an indication that a digital pen hascontacted a point on a two-dimensional (2D) display where thethree-dimensionally represented object is displayed; determining when atilt of the digital pen is within a threshold degree of one of a numberof axes of a coordinate space; and receiving instructions to adjust thethree-dimensionally represented object.
 9. The method of claim 8,further comprising displaying on the 2D display an indication of how thethree-dimensionally represented object can be adjusted using the digitalpen.
 10. The method of claim 9, wherein the adjustment of thethree-dimensionally represented object comprises moving thethree-dimensionally represented object within a three-dimensionallyrepresented space; marking the three-dimensionally represented object;and rotating the three-dimensionally represented object.
 11. The methodof claim 8, wherein determining when a tilt of the digital pen is withina threshold degree of one of a number of axes of a coordinate spacecomprises determining whether the digital pen is present within athreshold degree that is in the shape of a cone with a tip of the coneoriginating at the origin of each of the axes of the coordinate spacedefined at the point of contact between the digital pen and 2D display.12. The method of claim 8, wherein adjustment of the three-dimensionallyrepresented object is stopped when the digital pen is lifted from offthe 2D display.
 13. An input system, comprising: a digital pencomprising a number of orientation sensors; a two-dimensional (20)display device; and a three-dimensional (3D) coordinate plane selectionmodule; wherein the 3D coordinate plane selection module selects acoordinate plane in which an element of a 3D image is to be adjustedbased on input from the digital pen and orientation sensors describing aposition and orientation of the digital pen with respect to the 2Ddisplay device and the 3D image.
 14. The input system of claim 13,wherein a coordinate plane is selected when the digital pen is within afirst threshold degree of the coordinate axis perpendicular to thatplane.
 15. The input system of claim 13, wherein the threshold degreeabout each coordinate axis describes the shape of a cone with a tip ofthe cone originating at the origin of each of the coordinate axes.